package org.jeecg.common.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * @Description: 楼层基本信息
 * @Author: 国子软件
 * @Date:   2022-04-28
 * @Version: V1.0
 */
@Data
@TableName("hs_basis_floor")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="楼层基本信息对象", description="楼层基本信息")
@JsonAutoDetect(fieldVisibility= JsonAutoDetect.Visibility.ANY,getterVisibility= JsonAutoDetect.Visibility.NONE)
public class Floor implements Serializable {
    private static final Long serialVersionUID = 1L;

	/**主键*/
	@TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private String id;

	/**租户编号*/
	@Excel(name = "租户编号", width = 15)
    @ApiModelProperty(value = "租户编号")
    @Dict(dicCode = "id", dictTable = "hs_house_tenant", dicText = "tenant_name", dictHouse = "house")
    private String tenantId;

	/**备注*/
	@Excel(name = "备注", width = 15)
    @ApiModelProperty(value = "备注")
    private String remark;

	/**变更原因*/
	@Excel(name = "变更原因", width = 15)
    @ApiModelProperty(value = "变更原因")
    private String versionReason;

	/**变更时间*/
	@Excel(name = "变更时间", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "变更时间")
    private Date versionDate;

	/**版本号*/
	@Excel(name = "版本号", width = 15)
    @ApiModelProperty(value = "版本号")
    private String versionNumber;

	/**创建人*/
	@Excel(name = "创建人", width = 15)
    @ApiModelProperty(value = "创建人")
    @Dict(dicCode = "id", dictTable = "blade_user", dicText = "name", dictHouse = "house")
    private String createUser;

	/**创建时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;

	/**最后修改人*/
	@Excel(name = "最后修改人", width = 15)
    @ApiModelProperty(value = "最后修改人")
    @Dict(dicCode = "id", dictTable = "blade_user", dicText = "name", dictHouse = "house")
    private String updateUser;

	/**修改时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "修改时间")
    private Date updateTime;
	/**审批人*/
	@Excel(name = "审批人", width = 15)
    @ApiModelProperty(value = "审批人")
    private String approvedUser;
	/**审批时间*/
	@Excel(name = "审批时间", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "审批时间")
    private Date approvedTime;
	/**审批意见*/
	@Excel(name = "审批意见", width = 15)
    @ApiModelProperty(value = "审批意见")
    private String approvedOpinion;
	/**状态*/
	@Excel(name = "状态", width = 15)
    @ApiModelProperty(value = "状态")
    private String status;
	/**乐观锁字段*/
	@Excel(name = "乐观锁字段", width = 15)
    @ApiModelProperty(value = "乐观锁字段")
    private String tsVersion;
	/**删除标注*/
	@Excel(name = "删除标注", width = 15)
    @ApiModelProperty(value = "删除标注")
    @Dict(dicCode = "yn")
    private String isDeleted;
	/**单据编号*/
	@Excel(name = "单据编号", width = 15)
    @ApiModelProperty(value = "单据编号")
    private String floorCode;
	/**楼层编号*/
	@Excel(name = "楼层编号", width = 15)
    @ApiModelProperty(value = "楼层编号")
    private String floorSort;
	/**楼层名称*/
	@Excel(name = "楼层名称", width = 15)
    @ApiModelProperty(value = "楼层名称")
    private String floorName;
	/**所属房屋*/
	@Excel(name = "所属房屋", width = 15)
    @ApiModelProperty(value = "所属房屋")
    @Dict(dicCode = "id", dictTable = "hs_basis_house", dicText = "house_name", dictHouse = "house")
    private String basicsHouseId;
	/**是否图形化展示*/
	@Excel(name = "是否图形化展示", width = 15)
    @ApiModelProperty(value = "是否图形化展示")
    @Dict(dicCode = "map_show_is")
    private String mapShowIs;
	/**管理单位*/
	@Excel(name = "管理单位", width = 15)
    @ApiModelProperty(value = "管理单位")
    @Dict(dicCode = "id", dictTable = "hs_unit", dicText = "name", dictHouse = "house")
    private String orgId;
	/**产权单位*/
	@Excel(name = "产权单位", width = 15)
    @Dict(dicCode = "id", dictTable = "hs_unit", dicText = "name", dictHouse = "house")
    @ApiModelProperty(value = "产权单位")
    private String propertyUnit;
	/**dxf文件*/
	@Excel(name = "dxf文件", width = 15)
    @ApiModelProperty(value = "dxf文件")
    private String dxfFile;
    /**dxf文件*/
    @Excel(name = "dxf文件", width = 15)
    @ApiModelProperty(value = "dxf文件")
    private String nameFile;
	/**底图文件*/
	@Excel(name = "底图文件", width = 15)
    @ApiModelProperty(value = "底图文件")
    private String pngFile;
	/**流程实例id*/
	@Excel(name = "流程实例id", width = 15)
    @ApiModelProperty(value = "流程实例id")
    private String processInstanceId;
	/**房屋用途*/
	@Excel(name = "房屋用途", width = 15)
    @ApiModelProperty(value = "房屋用途")
    @Dict(dicCode = "house_purpose")
    private String basicsHousePurposeId;
	/**管理部门*/
	@Excel(name = "管理部门", width = 15)
    @ApiModelProperty(value = "管理部门")
    private String deptId;
	/**单位编码*/
	@Excel(name = "单位编码", width = 15)
    @ApiModelProperty(value = "单位编码")
    private String unitCode;
	/**合同号*/
	@Excel(name = "合同号", width = 15)
    @ApiModelProperty(value = "合同号")
    private String rentContractId;
	/**房屋用途类型*/
	@Excel(name = "房屋用途类型", width = 15)
    @ApiModelProperty(value = "房屋用途类型")
    @Dict(dicCode = "house_purpose")
    private String housePurposeType;
	/**托管单主键*/
	@Excel(name = "托管单主键", width = 15)
    @ApiModelProperty(value = "托管单主键")
    private String hostingId;
	/**托管单明细主键*/
	@Excel(name = "托管单明细主键", width = 15)
    @ApiModelProperty(value = "托管单明细主键")
    private String hostingInfoId;
	/**托管原单位*/
	@Excel(name = "托管原单位", width = 15)
    @ApiModelProperty(value = "托管原单位")
    @Dict(dicCode = "id", dictTable = "hs_unit", dicText = "name", dictHouse = "house")
    private String hostingUnitId;
	/**cad图上文字*/
	@Excel(name = "cad图上文字", width = 15)
    @ApiModelProperty(value = "cad图上文字")
    private String cadLines;

    private String defString1;
    private String defString2;
    private String defString3;
    private Integer defInt2;
	/**cad测绘公司名称*/
	@Excel(name = "cad测绘公司名称", width = 15)
    @ApiModelProperty(value = "cad测绘公司名称")
    private String cadDrawCompany;
	/**秘钥*/
	@Excel(name = "秘钥", width = 15)
    @ApiModelProperty(value = "秘钥")
    private String cadDrawCompanySecret;
	/**对接系统id*/
	@Excel(name = "对接系统id", width = 15)
    @ApiModelProperty(value = "对接系统id")
    private String pkId;
	/**批量提交单据id*/
	@Excel(name = "批量提交单据id", width = 15)
    @ApiModelProperty(value = "批量提交单据id")
    private String batchApprovalId;
	/**资产卡片编号*/
	@Excel(name = "资产卡片编号", width = 15)
    @ApiModelProperty(value = "资产卡片编号")
    private String assetCardNumber;
	/**资产卡片id*/
	@Excel(name = "资产卡片id", width = 15)
    @ApiModelProperty(value = "资产卡片id")
    private String assetCardId;
	/**集团*/
	@Excel(name = "集团", width = 15)
    @ApiModelProperty(value = "集团")
    private String groupId;
	/**业务时间*/
	@Excel(name = "业务时间", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "业务时间")
    private Date makeDate;
	/**启用/停用*/
	@Excel(name = "启用/停用", width = 15)
    @ApiModelProperty(value = "启用/停用")
    @Dict(dicCode = "sys_access")
    private String freezeIs;
	/**停用时间*/
	@Excel(name = "停用时间", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "停用时间")
    private Date freezeDate;
	/**房产证号*/
	@Excel(name = "房产证号", width = 15)
    @ApiModelProperty(value = "房产证号")
    private String deedNumber;
	/**土地证号*/
	@Excel(name = "土地证号", width = 15)
    @ApiModelProperty(value = "土地证号")
    private String landNumber;
	/**不动产证*/
	@Excel(name = "不动产证", width = 15)
    @ApiModelProperty(value = "不动产证")
    private String estateNumber;
	/*空置个数*/
    @Excel(name = "空置个数", width = 15)
    @ApiModelProperty(value = "空置个数")
    private String numberVacant;
    /*级联单位id*/
    @Excel(name = "级联单位id", width = 150)
    @ApiModelProperty(value = "级联单位id")
    private String cascadeUnitIds;
    /*级联单位名称*/
    @Excel(name = "级联单位名称", width = 150)
    @ApiModelProperty(value = "级联单位名称")
    private String cascadeUnitNames;

    @ApiModelProperty(value = "展示配置")
    private String displaySettings;
}
